Ajax ব্যবহার করে সার্ভার রেসপন্স এবং ডেটা প্রসেসিং করা হলো একটি গুরুত্বপূর্ণ ধাপ, যেখানে সার্ভার থেকে প্রাপ্ত ডেটা (রেসপন্স) গ্রহণ করা হয় এবং সেটিকে ব্যবহার করে UI বা HTML DOM আপডেট করা হয়। Ajax রিকোয়েস্ট সম্পন্ন হলে XMLHttpRequest
অবজেক্টের মাধ্যমে সার্ভার রেসপন্স হ্যান্ডল করা হয়। নিচে Server Response এবং Data Processing এর বিস্তারিত ব্যাখ্যা, উদাহরণ এবং ধাপগুলো তুলে ধরা হলো।
onreadystatechange
ইভেন্ট হ্যান্ডলার:XMLHttpRequest
অবজেক্টের onreadystatechange
ইভেন্ট হ্যান্ডলার ব্যবহার করে রিকোয়েস্টের অবস্থা চেক করা হয়।readyState === 4
), আমরা চেক করি যে রিকোয়েস্ট সফল হয়েছে কিনা (status === 200
)।JSON.parse()
মেথড দিয়ে JavaScript অবজেক্টে কনভার্ট করা হয়।নিচে একটি সম্পূর্ণ উদাহরণ দেওয়া হলো যেখানে সার্ভার থেকে JSON ডেটা প্রাপ্ত এবং তা প্রসেস করা হয়েছে:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Server Response Example</title>
</head>
<body>
<h1>Fetch and Display Data</h1>
<button onclick="fetchData()">Fetch Data</button>
<div id="data-container">
<!-- সার্ভার থেকে প্রাপ্ত ডেটা এখানে দেখানো হবে -->
</div>
<script src="app.js"></script>
</body>
</html>
function fetchData() {
// XMLHttpRequest অবজেক্ট তৈরি করা
var xhr = new XMLHttpRequest();
// GET রিকোয়েস্ট ওপেন করা
xhr.open("GET", "https://jsonplaceholder.typicode.com/posts/1", true);
// রেসপন্স হ্যান্ডলিং সেট করা
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) { // রিকোয়েস্ট সম্পূর্ণ হয়েছে কিনা তা চেক করা
if (xhr.status === 200) { // রিকোয়েস্ট সফল হয়েছে কিনা তা চেক করা
var data = JSON.parse(xhr.responseText); // JSON ডেটা প্রসেস করা
// HTML ডকুমেন্টে ডেটা দেখানো
document.getElementById("data-container").innerHTML = `
<h2>${data.title}</h2>
<p>${data.body}</p>
`;
} else {
// যদি এরর হয়, তাহলে এরর মেসেজ দেখানো
document.getElementById("data-container").innerHTML = "Error fetching data!";
}
}
};
// রিকোয়েস্ট পাঠানো
xhr.send();
}
১. XMLHttpRequest অবজেক্ট তৈরি:
fetchData()
ফাংশনে একটি XMLHttpRequest
অবজেক্ট তৈরি করা হয়েছে, যা Ajax রিকোয়েস্ট পরিচালনা করবে।২. রিকোয়েস্ট ওপেন করা:
xhr.open("GET", "https://jsonplaceholder.typicode.com/posts/1", true);
মেথড ব্যবহার করে একটি GET রিকোয়েস্ট সেটআপ করা হয়েছে।৩. রেসপন্স হ্যান্ডলিং:
xhr.onreadystatechange
ইভেন্ট হ্যান্ডলার ব্যবহার করে চেক করা হয়েছে যে রিকোয়েস্ট সম্পূর্ণ হয়েছে কিনা (xhr.readyState === 4
) এবং সফল হয়েছে কিনা (xhr.status === 200
)।JSON.parse()
মেথড দিয়ে JavaScript অবজেক্টে কনভার্ট করা হয়েছে।data-container
ডিভে ডেটা আপডেট করা হয়েছে।৪. এরর ম্যানেজমেন্ট:
এই উদাহরণে, আমরা একটি JSONPlaceholder API ব্যবহার করেছি, যা নিচের মতো JSON ডেটা প্রদান করে:
{
"userId": 1,
"id": 1,
"title": "Sample Title",
"body": "This is a sample body text."
}
JSON.parse()
দিয়ে তা JavaScript অবজেক্টে কনভার্ট করা হয়েছে।data-container
ডিভে ইনজেক্ট করা হয়েছে, যাতে ইউজার পেজ রিলোড ছাড়াই ডেটা দেখতে পারে।readyState
এবং status
চেক করে রিকোয়েস্ট সম্পূর্ণ এবং সফল হয়েছে কিনা যাচাই করা।JSON.parse()
ব্যবহার করে JavaScript অবজেক্টে কনভার্ট করা এবং তা প্রসেস করা।এই ধাপগুলো অনুসরণ করে Ajax এর মাধ্যমে সার্ভার থেকে ডেটা ফেচ করে সেটিকে প্রসেস করা এবং UI আপডেট করা সম্ভব। এটি ওয়েব অ্যাপ্লিকেশনকে ডায়নামিক এবং ইন্টারেক্টিভ করে তোলে।
Read more